package com.lpf.controller;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * spring mvc 有两种类型的 Controller：
 * 1、注解的形式：所有注解方式的 Controller 都由 RequestMappingHandlerMapping 类映射
 * 2、BeanName的形式：所有 BeanName 方式的 Controller 都由 BeanNameUrlHandlerMapping 类映射
 *
 * 有三种实现方式
 *
 * 两种类型在 handlerMappings 中体现
 * 三种实现方式 在适配器（HandlerAdapter）上体现
 *
 * HandlerAdapter：怎么调用对应的方法
 */

// 声明controller的第三种方式
@Component("/test3.do") //<bean beanName="/getUser"></bean>
public class BeanNameController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        System.out.println("声明controller的第三种方式");
        return null;
    }
}
